// import { login, logout, getInfo } from "@/api/login";
import { getToken, setToken, removeToken, tokenStartTime, getUserDataList, setUserDataList } from "@/utils/auth";
import "element-ui/lib/theme-chalk/display.css";
// import { listUser } from '@/api/person/employee/archives.js'

const user = {
    state: {
        token: getToken(),
        userDataList: getUserDataList(),
        name: "",
        avatar: "",
        roles: [],
        permissions: [],
        valid: [
            { label: "草稿", value: 1 },
            { label: "退回", value: 4 },
            { label: "审批通过", value: 9 },
            { label: "审批中", value: 7 },
        ],
    },

    mutations: {
        SET_TOKEN: (state, token) => {
            state.token = token;
        },
        SET_NAME: (state, name) => {
            state.name = name;
        },
        SET_AVATAR: (state, avatar) => {
            state.avatar = avatar;
        },
        SET_ROLES: (state, roles) => {
            state.roles = roles;
        },
        SET_PERMISSIONS: (state, permissions) => {
            state.permissions = permissions;
        },
        setuserDataList(state, data) {
            state.userDataList = data;
        },
    },

    actions: {
        // 登录
        Login({ commit }, userInfo) {
            const username = userInfo.username.trim();
            const password = userInfo.password;
            return new Promise((resolve, reject) => {
                login(username, password)
                    .then((res) => {
                        // const obj = eval('(' + res.d + ')')
                        // console.log(res);
                        setToken(res.Result);
                        tokenStartTime()
                        commit("SET_TOKEN", res.Result);
                        resolve(res);
                    })
                    .catch((error) => {
                        reject(error);
                    });
            });
        },

        // 获取用户信息
        GetInfo({ commit, state }) {
            return new Promise((resolve, reject) => {
                // getInfo()
                //     .then((res) => {
                //         const user = res.user;
                //         const avatar = user.avatar == "" || user.avatar == null ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
                //         if (res.roles && res.roles.length > 0) {
                //             // 验证返回的roles是否是一个非空数组
                //             commit("SET_ROLES", res.roles);
                //             commit("SET_PERMISSIONS", res.permissions);
                //         } else {
                //             commit("SET_ROLES", ["ROLE_DEFAULT"]);
                //         }
                //         commit("SET_NAME", user.userName);
                //         commit("SET_AVATAR", avatar);
                resolve();
                // })
                // .catch((error) => {
                // reject(error);
                // });
            });
        },

        // 退出系统
        LogOut({ commit, state }) {
            return new Promise((resolve, reject) => {
                // logout(state.token)
                //   .then(() => {
                commit("SET_TOKEN", "");
                commit("SET_ROLES", []);
                commit("SET_PERMISSIONS", []);
                removeToken();
                resolve();
                // })
                // .catch(error => {
                //   reject(error)
                // })
            });
        },

        // 前端 登出
        FedLogOut({ commit }) {
            return new Promise((resolve) => {
                commit("SET_TOKEN", "");
                removeToken();
                resolve();
            });
        },
        getUserData({ commit }) {
            const list = {}
            console.log(list);
            setUserDataList(list)
            commit('setuserDataList', list);

        }
    },
};

export default user;
